Battuere is a strategy game played on an 8 by 8 square board between two players (or a human player and the computer). Each player has 7 pawns positioned at a right angle to his opponent’s pawns. The object of the game is to move all of your pawns across the board and off the edge opposing their starting position. Pawns can only move one space at a time-- either forward or sideways, but not backward or diagonally. Players take turns moving their pawns to locations either off the board or currently vacant. There are no jumps or captures. The winner is the person who removes all of his pawns from the board first. A player loses the game by leaving his opponent no valid moves.
Please note that Battuere is NOT free. It is distributed under the shareware system. Simply put, this means that if you spare Battuere the wrath of the Empty Trash command and enjoy playing it, I request that you keep your conscience clear and my stomach filled by sending the paltry sum of $15 and your completed Registration Form to the address below. If you find this fee unacceptable, then by all means just pay what you feel the program is worth. Your shareware payment goes towards helping a struggling college student maintain his financial stability (and sanity). As well, it will motivate me to improve Battuere and release future shareware offerings to the Mac community. It’s a rather simple concept, actually: you play it, you pay it! Thank you in advance for supporting shareware and helping to promote the creation of further low cost/high quality software. YOU make a difference!
Jamie Morgan E-mail: jrmorgan@mit.edu
450 Memorial Drive Web: http://www.mit.edu:8001/people/jrmorgan/JRMorgan.html
• for music: QuickTime™ 2.0 or greater and (optionally) the “QuickTime™ Musical Instruments” file
If you play a lot of games, I suggest you purchase some external speakers too. Virtually any pair will offer better sound than a stock Macintosh and they make game playing a much more visceral experience.
Also, although it’s not required, you should probably quit all other applications before launching Battuere. Any program that eats up background time will slow down the animation, computer’s move algorithm, and perhaps even affect the music quality (depending on how many programs are running and how fast your computer is).
In order to hear the background music, you must have both QuickTime™ 2.0 and the “QuickTime™ Musical Instruments” file in your Extensions folder. If you have QuickTime™ 2.0 but not the QuickTime™ Musical Instruments file, the music will still play but all of the voices will be played with the same instrument. As I understand, Mac OS version 7.5 and later comes with both of these. However, if you do not have either the QuickTime™ 2.0 extension or QuickTime™ Musical Instruments, then you can obtain them from the Internet (or from an Internet provider such as America OnLine). QuickTime™ 2.0 is available for download at "http://quicktime.apple.com/emmys/QTMAC.hqx". The QuickTime™ Musical Instruments file is also available via ftp from Apple:
If you have any questions about finding QuickTime™ 2.0 or the QuickTime™ Musical Instruments file, send an e-mail message to "quicktime@applelink.apple.com".
Battuere may be played between two humans or between a human and the computer. Use the Mode menu to choose which mode you’d like to play. You may also adjust various rules and features of the game before or during play by choosing the Options... command from the Game menu. To start a new game, choose the New Game command from the File menu. Once a game is in progress, an indicator at the top of the screen will inform you whose turn it is to move. While the computer is choosing its move, the cursor will appear as a yin-yang shape.
Human participants make a move by clicking on the base of the pawn they wish to displace, holding the mouse button down, and then dragging the pointer to the destination square. The cursor will change color to indicate that the move is valid. To move a piece off the board, click and drag the pawn to the region just beyond the board’s boundary. The two red boxes at the top of the screen illustrate how many pawns you and your opponent have each removed from the board. At the bottom-left corner of the screen is a digital game clock showing the elapsed time for the game itself and for the current move. If a time limit is in effect (adjustable via the Options... command), a large red exclamation point will appear on the screen when you are within 5 seconds of the time limit. If you do not make a move before your time has expired, you lose your turn and it becomes your opponent’s turn.
As well, there is an overhead board at the bottom-right corner of the screen that can be used if the player finds the perspective view disorienting. Pawns can be moved from it just as they can from the main board.
If a player inadvertently moves the wrong pawn or makes an otherwise undesirable move, the Retract Move menu command will undo the move and allow the player another chance to take his turn. In the case of a human vs. computer match, the Retract Move command will erase both the player’s erroneous move and the computer’s response to the undesired move.
These are all pretty self-explanatory, but just in case you’re wondering...
About Battuere... - displays basic information about the program
File
New Game - resets the game clock, starts background music (if playable), and begins a new game using the current options and play mode
Abort Game - resets the game board, stops the music, and returns you to the high scores screen
Open Game... - opens a dialog box allowing you to choose a saved game file to play. You must abort your current game before you can play a saved game.
Save Game... - opens a dialog box allowing you to save a game in progress. Use this option to store a game you’d like to return to later on. The gameboard, game clock, rules, play mode, and high score components are all saved in the game file.
Quit - aborts the game in progress and returns you to the Finder.
Game
Retract Move - if move retraction is enabled in the Options dialog box, this command will undo your most recent move. Otherwise the computer will beep to indicate that you cannot retract the move.
Options... - opens a dialog box allowing you to adjust many of the program’s features and parameters. You can: adjust the animation speed (or turn it off); toggle the display of the withdrawn pawn boxes, game clock, and overhead view; change the computer’s skill level; turn sound effects on/off; turn music on/off; change the song; toggle which color goes first; enable/disable move retraction; adjust the time limit; and specify whether the time limit is enforced or not.
Clear High Scores... - permanently resets the ten high scorers’ names and scores
Help & Information... - opens a dialog box giving you on-line help. Click on a topic to receive information. Most of the text in the on-line help dialog box is repeated in this documentation.
Mode
Player vs. Computer - select this mode to play against the computer.
Player vs. Player - this mode allows two people to play against each other.
In the human vs. computer mode, a score is calculated following the player’s victory (no score is tabulated for a computer victory). If the score is high enough, the player will be prompted to add his name to the high score list. NOTICE: A player forfeits his high score attempt if he alters any of these options in the middle of a game: the time limit, whether or not the time limit is enforced, the computer's skill level, and whether or not move retraction is allowed. Factors included in the score tabulation are listed below (most important factors listed first).
For those of you who are curious, the algorithm for the computer’s choice of moves is based upon a variable ply look-ahead search. For each valid move the computer has to choose from, it computes each possible countermove. It then checks its countermoves to these countermoves, and so on. When a certain search depth is reached (4 moves in advance, for instance), the computer evaluates the root nodes of the search tree using a custom static evaluation function. This, simply put, is a mathematical formula that assigns a numerical value to a given board state reflecting the relative advantage or disadvantage of the player in question. Using the Minimax principle of game theory, the root nodes are then backed up the game tree to the original array of move options. The computer then selects the move with the highest backed-up evaluation score. Got all that? There’ll be a quiz later...
Battuere stems from a game known as Dodgem. Dodgem was created in 1972 by Colin Vout, then a student at the University of Cambridge. The game received its major publicity from Martin Gardner, who discussed it in his mathematical recreations column in Scientific American (June 1975). A BASIC version of Dodgem (written by Mac Oglesby) appeared in the book More BASIC Computer Games by David Ahl. No offense to Mr. Oglesby, but that version played like a lobotomized pack mule. Battuere is my attempt to produce a more challenging and entertaining version of a very enjoyable board game.
Well, if I thought of it, not much. Therefore, I feel some explanation of this program’s not-so-explicit title is called for. The game was originally known as Dodgem. In my opinion, that name just plain sucked. To find a suitably ineffable replacement I tried to think of the game’s intrinsic attributes: offense, defense, strategy, race, evasion, contest, etc. Eventually, my mind turned to more belligerent locutions: war, battle, combat, attack, etc. Uninspired by these mundane possibilities, I decided to look at the etymologies of said words. To make a long story longer, the word battuere, meaning ‘to beat’, is the Latin root for the word battle. Do you think it sounds stupid? You’ll get over it. :-)
Battuere was programmed in the THINK Pascal 4.0 environment. The pawn sprites and game board were ray traced using POV-Ray 2.0. Photoshop was then used to eliminate extra colors so that the pawns wouldn't have that "dithered to all hell" look in 256 color mode. The animation sequence for each pawn consists of 20 separate frames for each 360° rotation. The frames and masks are stored in offscreen pixmaps and drawn to the screen using CopyMask(). The screen is updated with a new frame each time a null event is queued.
I don't know how many Mac programmers out there are still using Pascal for real applications, but if there's enough demand I might release the source code for Battuere. As it is, this is probably my last Pascal program because, despite my vehement objections, the rest of the civilized universe programs in C or C++. To be quite honest, the only thing I know about C is that it comes after B and before D.
You may (and I encourage you to) freely distribute Battuere via any non-commercial medium including, but not limited to: person-to-person, diskette, electronic BBS, on-line services, and ftp. You may also include Battuere in a commercial software collection, as in a CD-ROM or user group set, provided that you contact me first to seek permission. Most important, I ask that you upload/distribute Battuere in its original unmodified state (i.e. the shareware notices remain intact, and the Documentation and Registration documents are included with the application).
If you have anything to say about Battuere I would greatly appreciate hearing from you. Do you like it? Hate it? Are there any features I could add? How about bug reports? With your help, Battuere could evolve into a great game. I already have many ideas in mind for version 2.0. (see "Version History...)
So drop me a line! (and send in those shareware fees!)